A fingerprint is made up of interleaved ridges and valleys on the surface of a finger. A typical ridge varies in width from about 100 μm to 300 μm and a typical peak-to-peak ridge spacing is about 500 μm. A fingerprint image is a representation of those ridges and valleys, with ridge lines being typically represented as dark lines and the valleys between them are bright lines. An exemplary fingerprint image is shown in FIG. 1.
Fingerprints are unique to an individual, making them ideal for identification purposes. A fingerprint verification system can therefore verify a user's identity by comparing a captured fingerprint image with a pre-stored template fingerprint image. Although each fingerprint is unique to an individual, fingerprints share common features. These may be categorised as follows.
Level 1 features of a fingerprint include loops, whorls, arches and deltas formed by the ridges. These features describe the overall shape followed by the ridges. Level 1 features may be used to distinguish between two non-matching fingerprints, but do not give sufficient detail to confirm a match between two fingerprints.
Level 2 features of a fingerprint, or minutiae, are irregularities or discontinuities in the ridges. Eighteen different types of minutiae have been identified. However, the two major types of minutiae are ridge terminations and ridge bifurcations, i.e. where a ridge ends or where a ridge divides into two ridges. By comparison of Level 2 features, a match between two fingerprints can be confirmed.
Level 3 features of a fingerprint describe intra-ridge details. These include sweat pores and local ridge shape, as well as scarring, warts, creases and other local deformation of the ridges. The extraction of Level 3 features requires high resolution fingerprint sensors (typically greater than 800 dpi).
The following disclosure relates to fingerprint verification based on the analysis of Level 2 features.
Fingerprint verification is the one-to-one comparison of an input fingerprint with a reference fingerprint image for the purpose of either accepting or rejecting a claim of identity. It is common in the art to store, and thus compare, only a fingerprint template rather than the full fingerprint image. A fingerprint template is a set of key features extracted from the fingerprint image, such as minutiae points, that describe the fingerprint image.
The extraction of minutiae from a fingerprint image to form the template typically requires a gray-scale fingerprint image to be enhanced and then converted into a binary image. Fingerprint enhancement typically includes Gabor filtering, which improves discrimination between the ridges and valleys. The fingerprint image is binarised by setting a global threshold t and setting all pixels with intensity greater than t to 1 and all remaining pixels to 0 to produce a binary fingerprint image, and the binary fingerprint image is then thinned such that all ridges are reduced to one pixel width (see for example Zhang T. Y. and Suen C. Y. “A Fast Parallel Algorithm for Thinning Digital Patterns”, Communications of the ACM, v. 27 n. 3, pp. 236-239, 1984) to produce a thinned ridge map, also know as a fingerprint skeleton.
Minutia detection is a trivial task when an ideal thinned ridge map is obtained. This can be seen from FIG. 2, which shows a thinned ridge map of the fingerprint image of FIG. 1 in which the minutiae points for ridge endings and ridge bifurcations are highlighted. The squares represent ridge endings and the circles represent ridge bifurcations.
FIG. 3 shows a minutiae representation of the fingerprint in FIG. 1. Each minutia is typically stored as a data point defined by a position within the fingerprint, a minutia type (i.e. ridge ending, ridge bifurcation, etc.) and a minutia angle (i.e. the orientation of the minutia relative to a reference orientation).
Fingerprint verification may be seen to comprise two distinct stages, enrolment and matching. Enrolment is the process of registering a new reference fingerprint image template and broadly comprises scanning a fingerprint and extracting a fingerprint template from that scan, and matching is the process of comparing a further input fingerprint with that fingerprint template, usually at a later time, in order to verify the identity of a user.
In known enrolment methods, a fingerprint image is input by being scanned by a fingerprint sensor. After the fingerprint image is obtained, feature extraction is performed, for example minutiae extraction as discussed above. Feature extraction provides a template that completely describes the fingerprint.
U.S. Pat. No. 4,752,966 describes a prior art method of enrolling a fingerprint using a swipe-type fingerprint sensor.
Matching of a fingerprint involves taking an input fingerprint image and comparing the input fingerprint image to one or more reference fingerprint images. The print is verified when a match is made between the input fingerprint image and a reference fingerprint image that has a sufficient reliability that the probability of a false positive is below some predetermined threshold.
US 2008/0273770 describes a prior art method of matching a proffered fingerprint image with a reference fingerprint image using minutia comparison. In US 2008/0273770, for each minutia of the input fingerprint, a “minutia neighbourhood” is identified centred around a central minutia and defining a finite region around the central minutia including at least a second minutia. In each neighbourhood, a minutiae pair is defined for each pair of the central minutia with a neighbouring minutia. Each minutiae pair is described by several features including the spacing between the two minutiae in a pair, the difference of orientations of two minutiae and the angle between the orientation of the central minutia and a line connecting the two minutiae. From these minutiae pair features, a minutiae pair index is constructed. Minutiae pair indices of a reference fingerprint image are compared to those of the proffered fingerprint to determine whether the fingerprints match.